aa - #96
Conversation
Reported [on discord](https://discord.com/channels/188630481301012481/1097318920991559880/1462402881658294355). Not sure if this has been turned into an issue anywhere. Fixes awkward looking padding at the bottom of `FilterControl` by having `ScopedBeatmapSetDisplay` apply the top padding on its own instead of relying on the spacing of its parent fill flow. This way, the padding is animated away when the scoped display disappears, instead of remaining because the component is still technically there. | Before | After | |--------|--------| | <img width="1123" height="247" alt="image" src="https://github.com/user-attachments/assets/edadd97e-cada-4378-98b7-cc85bfa01fb5" /> | <img width="1120" height="246" alt="image" src="https://github.com/user-attachments/assets/d8daecd0-1dfc-4594-95a4-94327677da89" /> | [Screencast_20260325_114439.webm](https://github.com/user-attachments/assets/99bb7083-b2da-40a3-b5a0-d94476e7c1ac) I don't really like how `ScopedBeatmapSetDisplay` is now managing its own spacing in the parent container, but it's tightly tied to the filter control anyway so it's probably fine.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe changes add host activity checks to gameplay readiness logic, introduce margin animations for filter control state transitions, and restructure the filter UI layout using nested flow containers for improved organization. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Adjusts song-select filter UI layout/spacing around the scoped beatmap set indicator, and prevents gameplay from starting while the host window is inactive.
Changes:
- Refactors
FilterControllayout to apply spacing only between filter controls (not between controls and the scoped set display). - Animates
ScopedBeatmapSetDisplaymargin to introduce/remove vertical separation only when the scoped set is active. - Gates
PlayerLoader’s “ready for gameplay” condition onGameHost.IsActive.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| osu.Game/Screens/Select/FilterControl.cs | Reworks container hierarchy to localise vertical spacing to the main filter controls. |
| osu.Game/Screens/Select/FilterControl.ScopedBeatmapSetDisplay.cs | Adds margin transforms to create conditional spacing when a scoped set is shown/hidden. |
| osu.Game/Screens/Play/PlayerLoader.cs | Requires host to be active before considering gameplay “ready”, preventing background-start pushes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary by CodeRabbit
Bug Fixes
Style